home *** CD-ROM | disk | FTP | other *** search
INI File | 1986-02-13 | 7.3 KB | 155 lines |
- [VT100.DOC] -- Documentation for VTKermit's VT100 emulation mode -- 6 Feb 86
-
- VTKermit provides a very complete VT100 emulation feature. "Very complete"
- isn't "complete" and VTKermit isn't a VT100, but for most standard uses
- VTKermit does everything anyone would ever need it to.
-
- Among the VT100 features that are supported are:
-
- o All cursor positioning
- o All screen and line clears
- o All feasible display attributes, limited by hardware
- o Region scrolling (absolute origin only)
- o All feasible line drawing graphic characters, limited by hardware
- o Device attributes ("what are you?")
- o Numeric keypad, numeric and application modes
- o LEDs L1-L4
- o Save and restore cursor
- o Printer support (most Media Copy functions, Control-PrtSc)
-
- VT100 features *NOT* supported are:
-
- o 132 column mode (no horizontal scrolling either)
- o Black-on-white (white on black only)
- o Smooth scrolling
- o Split speeds (different transmit and receive baud rates)
- o Keyclick
- o Cursor shape control
- o Double high and wide characters
- o Autowrap is done wrong (wraps after 80th character instead of
- before 81st)
- o VT52 mode (sorry)
-
- Also, 5 new VT100-style escape sequences are defined. All of these are
- variations on the VT100 screen clear, which we hope DEC and ANSI do not extend
- significantly in the future.
-
- Standard:
- ESC [ 0 J -- Standard VT100 clear-to-end-of-screen
- ESC [ 1 J -- Standard VT100 clear-to-beginning-of-screen
- ESC [ 2 J -- Standard VT100 clear-entire screen
-
- New:
- ESC [ 1 7 J -- Enter SERVER mode
- ESC [ 1 8 J -- Identify self as VTKermit -- VTKermit will send
- ESC [ 9 9 c in response to this, a VT100 will do
- nothing
- ESC [ 1 9 J -- Enter COMMAND-MODE
- ESC [ 2 0 J -- Exit directly to DOS
- ESC [ 2 1 J -- Preload a command for later execution
-
- ESC[17J throws VTKermit into server mode. This can be very useful in a case
- where a file uploading or downloading application is to be driven by the
- remote host computer. In this application, the user tells the remote host
- what he wants done in some way, and the remote host throws the user's computer
- into server mode and SENDs or GETs whatever files it wants, sending a FINISH
- packet when done. When the ESC[17J is received, the current screen will be
- saved and the normal file transfer screen displayed. When the FINISH is
- received, the saved terminal mode screen will be redisplayed, providing visual
- continuity to the user. This is a nice feature.
-
- ESC[18J is like a Device Attributes ("what are you?") VT100 sequence, but is
- intended to determine whether the user is running VTKermit. Since VTKermit
- claims to be a VT100 when queried with DA (ESC [ c), this is required if you
- want to use any of the additional features described here.
-
- ESC[19J throws the user into command mode. This is sometimes used in
- conjunction with ESC[21J, described below.
-
- ESC[20J exits the program immediately.
-
- ESC[21J begins a "preload mode" in which received text is saved in a "preload
- buffer" for later execution. The "received text" should be 94 or fewer
- characters in length, and must be terminated with another ESCape. This
- terminating escape must not be part of any ESCape sequence -- it is "eaten".
-
- When terminal mode is exited, either by the user pressing F5 or closing the
- session with {escape character} C or with the ESC[19J sequence (or the script
- command COMMAND-MODE ...), then the "preloaded text" will be set up as an
- "instant macro". Commas in the text will be converted to CRs, but double
- commas (",,") will be converted to single commas. This is an extremely
- powerful feature that can permit some very fancy tricks.
-
- For example, if VTKermit receives the sequence
-
- ESC [ 2 1 J s t a t u s , p u s h ESC ESC [ 1 9 J
-
- it will preload the string "status,push", convert that into a "status {CR}
- push" macro and then execute it. The user will see a STATUS display go by,
- followed by a PUSH.
-
- Note that these escape sequences may be recognized in any text that flows
- through the VT100 emulation channel, so a PRINT command in a script file could
- be used to invoke them. This enables a script file to execute VTKermit
- commands, which would not be possible otherwise.
-
- For example, the script command
-
- PRINT /^[[21Jpush^[^[[19J/
-
- will execute a PUSH from within a script. Ugly perhaps, but functional.
-
- Ordinarily, VTKermit will use color attributes on a color display adapter. If
- you have a monochrome screen connected to a color adapter, the SET DISPLAY
- MONOCHROME command will change some attributes to be more readable on the
- monochrome screen. This is the default on the IBM Portable PC. If you have a
- color display connected to your Portable PC, give the SET DISPLAY COLOR
- command to get color attributes.
-
- VTKermit's VT100 mode uses any of three different methods to display text on
- the screen. (In command mode, and for the pop-up status display, normal DOS
- display calls are used.)
-
- On a standard monochrome display, VTKermit updates its screen image in a local
- buffer then "blasts" the image out to B000:0000, the address of the monochrome
- card's display buffer. This is effectively instantaneous.
-
- If you are running in color mode and VTKermit thinks you are running on an
- Enhanced Graphics Adapter, it will use a method similar to the monochrome
- method, but will blast the image to B800:0000, the normal address of the color
- card's display buffer. This is also effectively instantaneous, though the EGA
- hardware slows things down a little with wait states.
-
- If, on the other hand, you are running on IBM's abysmal Color/Graphics Monitor
- Adapter (CGA), you will endure what is probably the slowest screen update
- imaginable. The method used involves use of two pages of CGA display memory
- and a double-update retrace-synchronized display algorithm that is slow even
- on an 8 MHz AT. *BUT*, the method has *NO SNOW* and *NO FLICKER* which are
- the dual failings of the CGA.
-
- This seems to work perfectly on true IBM PCs with true CGAs, but all bets are
- off on other hardware. It works on some, not on others. Strangely, there is
- a BIOS bug (I guess) which occurs on some Compaqs and Morrow/Zenith Pivot IIs
- in which a "cancer" seems to eat the screen, slowly obscuring the displayed
- information. Pressing F5 twice fixes the problem for a second, but then it
- starts again. If you see this problem on your machine, try the hidden SET
- CARD EGA command, which forces the display update to use the EGA code. This
- is much better for liquid crystal displays anyway, since it is much faster.
-
- In any case, if your hardware is other than the CGA and the display update
- seems slow, try the SET CARD EGA command. If you get snow, you are stuck with
- SET CARD COLOR.
-
- There is also a SET CARD DEFAULT to let VTKermit decide what method to use.
- Naturally, this is the default. In checking for an EGA, VTKermit looks for
- the system board equipment flags saying "no monitor", which is how an EGA
- machine should be set. A BIOS call to check might be better, maybe next
- version.
-
- Sadly, none of these work properly on some otherwise workable clones, such as
- the AT&T 6300. From what I am told, the AT&T in color mode has both snow and
- "cancer", so it is mostly unusable. I don't know why, but would be interested
- in the answer if anyone else knows or finds out.
-
- [End of VT100.DOC]
-